<#-- 使用Lombok的实体类生成模板 -->
package ${packageName};

<#-- 导入必要的包 -->
import java.io.Serializable;
<#if hasBigDecimal>
    import java.math.BigDecimal;
</#if>
<#if hasDate>
    import java.util.Date;
</#if>
<#if hasLocalDateTime>
    import java.time.LocalDateTime;
</#if>
<#if hasLocalDate>
    import java.time.LocalDate;
</#if>

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
<#-- Lombok注解 -->
import lombok.Data;
import com.baomidou.mybatisplus.annotation.TableName;

<#-- 类注释 -->
<#if tableComment?? && tableComment != "">
/**
* ${tableComment}
*/
</#if>
@Data
@TableName("${tableName}")
public class ${className} implements Serializable {

    private static final long serialVersionUID = 1L;

<#-- 字段定义 -->
<#list columns as column>
    <#if column.columnComment?? && column.columnComment != "">
    /**
    * ${column.columnComment}
    */
    </#if>
    <#-- 主键字段使用 @TableId -->
    <#-- 非主键字段使用 @TableField -->
    <#if column.primaryKey>@TableId(value = "${column.columnName}")<#else>@TableField(value = "${column.columnName}")</#if>
    private ${column.javaType} ${column.javaField};

</#list>
}